package methodObj;

public class DemoRecursion {
    public static void main(String[] args) {

        //递归必须要有出口，否则会出现”栈内存溢出“
        //递归即使有出口，递归次数不要太多
        //recursion();

        //利用递归输出1-3
        int md=method(3);
        System.out.println("阶乘的结果是"+md);
    }
    //栈内存溢出
    /*public static void recursion(){
        System.out.println("递归一次");
        recursion();
    }
    //输出1-3
    public static void method(int n){
        if(n==1){
            System.out.println(n);
            //结束方法
            return;
        }

        System.out.println(n);
        n--;
        method(n);
    }*/

    //递归乘法
    public static int method(int n){
        if(n==1){
            //System.out.println( n+"*"+method(n-1));
            return 1;
        }
       // System.out.println( n+"*"+method(n-1));
        return n*method(n-1);
    }
}
